import * as _ from './utils/underscore';

// 递归

// 阶乘
// function factorial (n) {
//   if (n == 1) return n;
//   return n * factorial(n - 1);
// }

// console.log(factorial(5))

// 斐波那契数列
// function fibonacci (n) {
//   return n < 2 ? n : fibonacci(n - 1) + fibonacci(n - 2);
// }

// console.log(fibonacci(5))

// 尾调用
// 指函数内部的最后一个动作是函数调用。该调用直接返回给函数。
// 尾调用
// function f (x) {
//   return g(x);
// }

// 不是尾调用
// function f (x) {
//   return g(x) + 1;
// }
// 函数调用自身，称为递归。如果尾调用自身，就称为尾递归。
